matlab绘制带阴影的曲线 | 您所在的位置:网站首页 › matlab figure 用法 › matlab绘制带阴影的曲线 |
%% 使用matlab绘制带阴影区域的曲线; figure; n = 50; x = linspace(40,70,n); y = .7*x + normrnd(0,5,size(x)); plot(x,y,'bx'); hold on; [p,s] = polyfit(x,y,1); %多项式曲线拟合 [yfit,dy] = polyconf(p,x,s,'predopt','curve'); % 多项式的置信区间 fill([x, fliplr(x)], [yfit-dy, fliplr(yfit+dy)],[0.8706 0.9216 0.9804]); % fill([x fliplr(x)], [yu fliplr(yl)], [.9805 .7031 .6797], 'linestyle', 'none', 'FaceAlpha',0.5); % x从左到右,fliplr从右到左。 % yfit-dy,代表的是下边界;yfit+dy代表的是上边界;上边界的顺序也得修改成从右向左; % [0.8706 0.9216 0.9804] RGB数组; line(x,yfit,'color','r'); line(x,yfit-dy,'color','r','linestyle',':'); line(x,yfit+dy,'color','r','linestyle',':');
理解:↓ matlab绘制带阴影的曲线 本质上,把阴影当作是一个由多段线连接而成的封闭区域,然后就该区域进行填充颜色而已 fill语句中,[x fliplr(x)]表示围成一圈的边框的x坐标,yu 表示阴影的上边界,yl表示下边界。 [.9805 .7031 .6797] 表示阴影填充的RGB linestyle 表示边界线形 FaceAlpha 表示透明度 本质上2:就是确定了一个四边形,然后在四边形里边,进行填充: % x从左到右,fliplr从右到左。 % yfit-dy,代表的是下边界;yfit+dy代表的是上边界;上边界的顺序也得修改成从右向左; % [0.8706 0.9216 0.9804] RGB数组; 方案1: fill([x fliplr(x)], [yu fliplr(yl)], [.9805 .7031 .6797], 'linestyle', 'none', 'FaceAlpha',0.5); hold on方案2: fill([x,fliplr(x)],[yfit-dy,fliplr(yfit+dy)],[0.8706 0.9216 0.9804]); |
CopyRight 2018-2019 实验室设备网 版权所有 |